package com.sample.wanandroidx.ui.test

import android.Manifest
import com.permissionx.guolindev.PermissionX
import com.sample.library.util.ToastUtil
import com.sample.wanandroidx.basic.BaseActivity
import com.sample.wanandroidx.databinding.ActivityMainTestBinding
import com.sample.wanandroidx.support.OnDataChangeEvent
import io.reactivex.rxjava3.disposables.Disposable

import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode

//  测试      viewModel.startWithSkeleton(adapter)
class MainTestActivity : BaseActivity<ActivityMainTestBinding>(ActivityMainTestBinding::inflate) {

    override fun useEventBus() = true

    private var disposable: Disposable? = null

    //    override fun initialization() {
    //        val data = resources.getStringArray(R.array.test).toList()
    //        binding.recyclerView.addItemDecoration(SpacesItemDecoration(this).setDrawable(R.drawable.shape_line))
    //        binding.recyclerView.adapter =
    //            ListViewAdapter<String, ItemSimpleListBinding>(data, R.layout.item_simple_list) { title, binding, position ->
    //                binding.linearLayout.setOnProxyClickListener {
    //                    when (position) {
    //                        0 -> {
    ////                            startActivity<NoDrawableActivity>("title" to title)
    //                        }
    //                        1 -> {
    ////                            startActivity<JzvdStdActivity>("title" to title)
    //                        }
    //                        2 -> {
    ////                            startActivity<DatetimepickerActivity>("title" to title)
    //                        }
    //                        3 -> {
    //                            ToastUtil.show("android-startup已启用")
    //                        }
    //                        4 -> {
    //                            ToastUtil.show("滑动返回已添加")
    //                        }
    //                        5 -> {
    //                            startActivity<AdaptiveLabelGroupActivity>()
    //                        }
    //                        6 -> {
    //                            val s = SPUtils.getStrListValue("data")
    //                            if (s.isEmpty()) {
    //                                SPUtils.putStrListValue("data", data)
    //                                ToastUtil.show("已保存,请至Device File Explorer中查看")
    //                            } else {
    //                                ToastUtil.show(s.toString())
    //                            }
    //                        }
    //                        7 -> {
    //                            throw IOException("IOException")
    //                        }
    //                        8 -> {
    //                            startActivity<PictureSelectorActivity>()
    //                        }
    //                        9 -> {
    //                            UpdateUtil.requestUpdate(this, true)
    //                        }
    //                        10 -> {
    //                            startActivity<ZxingLiteActivity>()
    //                        }
    //                        11 -> {
    //                            ImmersionBar.with(this).statusBarColor(R.color.colorAccent).init();
    //                        }
    //                        12 -> {
    //                            EventBus.getDefault().post(OnDataChangeEvent(System.currentTimeMillis().toString()))
    //                        }
    //                        13 -> {
    //                            GlideDownload.downloadImage(this,
    //                                "http://i2.chinanews.com/simg/hd/2020/12/23/506735fabd2447ddb4982e50d8926155.jpg")
    //                        }
    //                        14 -> {
    //                            //                            val user: User? = LitePal.findFirst(User::class.java)
    //                            //                            ToastUtil.show("Litepal 已添加 " + user?.nickname)
    //                        }
    //                        15 -> {
    //                            ToastUtil.show("Glide 已添加")
    //                        }
    //                        16 -> {
    //                            ToastUtil.show("ByRecyclerView 已添加 详见 主页")
    //                        }
    //                        17 -> {
    //                            ToastUtil.show("暂未添加")
    //                        }
    //                        18 -> {
    //                            ToastUtil.show("youth-banner 已添加 详见 主页")
    //                        }
    //                        19 -> {
    //                            ToastUtil.show("circleimageview 已添加 详见 UserFragment")
    //                        }
    //                        20 -> {
    //                            ToastUtil.show("titlebar 已添加,扩展功能待完善")
    //                        }
    //                        21 -> {
    //                            showLoadingDialog("loading")
    //                            postDelayed(1000) { dismissLoadingDialog() }
    //                        }
    //                        22 -> {
    //                            ToastUtil.show("正在为您跳转至WebActivity")
    //                            startActivity<WebActivity>("url" to Urls.baseUrl)
    //                        }
    //                        23 -> {
    //                            ToastUtil.show(SimpleDateFormat("yyyy:MM:dd HH:mm:ss", Locale.getDefault()).format(Date()))
    //                        }
    //                        24 -> {
    //                            startActivity<XpopupExtActivity>()
    //                        }
    //                        25 -> {
    //                            if (disposable == null) {
    //                                disposable = HttpUtil.rxJavaAppendDownloadProgress10(this)
    //                                ToastUtil.show("下载已开始")
    //                            } else {
    //                                disposable?.dispose()
    //                                disposable = null
    //                                ToastUtil.show("下载已暂停")
    //                            }
    //                        }
    //                        26 -> {
    //                            val targetPath = getExternalFilesDir(null)?.absolutePath + File.separator + "wanandroid.apk"
    //                            val targetFolder = targetPath.replace("wanandroid.apk", "wanandroidUnzip")
    //
    //                            if (File(targetPath).exists()) {
    //                                showLoadingDialog("正在解压...")
    //                                Thread {
    //                                    if (File(targetFolder).exists()) {
    //                                        FileUtil.deleteDirectory(File(targetFolder))
    //                                    }
    //                                    val s = ZipUtil.unzipFile(File(targetPath), File(targetFolder))
    //                                    if (s) {
    //                                        post {
    //                                            dismissLoadingDialog()
    //                                            ToastUtil.show("解压成功 正在计算大小")
    //                                            println(FileUtil.getDirSize(File(targetFolder)))
    //                                        }
    //                                    }
    //                                }.start()
    //                            } else {
    //                                showLoadingDialog("正在移动...")
    //                                Thread { //正式环境不这么写
    //                                    val s = FileUtil.copyAssetToSDCard(this.assets, "wanandroid.apk", targetPath)
    //                                    if (s) {
    //                                        post {
    //                                            dismissLoadingDialog()
    //                                            ToastUtil.show("移动成功" + targetPath)
    //                                        }
    //                                    }
    //                                }.start()
    //                            }
    //                        }
    //                        27 -> {
    //                            //                            ARouter.getInstance().build("/web/activity").withString("s", "https://github.com/alibaba/ARouter")
    //                            //                                .navigation()
    //                        }
    //                        28 -> {
    ////                            startActivity<LibraryBusinessActivity>("title" to title)
    //                        }
    //                    }
    //                }
    //            }

    @Subscribe(threadMode = ThreadMode.MAIN)
    fun onDataChangeEvent(eventOn: OnDataChangeEvent) {
        ToastUtil.show(eventOn.data)
    }

    override fun onStart() {
        super.onStart()
        val permission = Manifest.permission.WRITE_EXTERNAL_STORAGE
        PermissionX.init(this).permissions(permission).request { _, _, _ -> }
    }

    override fun initialization() {

    }

}